1. Field of the Invention
The invention concerns processing of data from segmented imaging sensors such as segmented solid-state sensor arrays (SSAs). In particular, the invention concerns processing of such data by a media processor which includes a built-in memory buffer for storing overlap data needed to color-correct data from boundary regions of sensor segments which are adjacent to other sensor segments. The media processor also includes direct memory access for efficiently accessing the built-in memory buffer.
2. Description of the Related Art
Recent advances in manufacturing processes for imaging sensors such as SSAs have resulted in imaging sensors having many millions of pixels arranged in a two-dimensional array. Because of the large number of pixels, however, there has been an undesirable increase in the processing time needed merely to shift out the data from the imaging sensors.
Several proposals have been considered to address the increase in shift-out time. According to one such proposal, an imaging sensor, such as a solid-state sensor array, is segmented into plural different disjoint areas, such as being divided into halves, fourths, or sixths. Data is output from each segment of the SSA separately. As a consequence of this arrangement, it is possible to reduce the shift-out time in proportion to the number of segments. For example, when an imaging sensor is divided into mutually disjoint left and right halves, it is possible to reduce the shift-out time by a factor of two.
One problem encountered during image reconstruction when using a segmented SSA is the appearance of discontinuities in image data formed at boundaries between each of the segments. If data from each sensor segment is processed separately, for example to perform color correction, these discontinuities can be exacerbated. However, in order to maintain processing efficiency, it is preferable to separately process data from plural segments in parallel.
It is an object of the invention to reduce discontinuities at boundaries between segments of a segmented imaging sensor while allowing efficient processing of data from plural sensor segments. To this end, a media processor according to the invention includes a memory buffer for storing data used to process image data from portions of the sensor segments adjacent to boundaries between segments. Such processing of the image data can include color correction and data compression, as well as other functions. For example, the data from this memory buffer is combined with data from various ones of the sensor segments, and the combined data is color-corrected. Preferably, the media processor includes plural processing clusters. A processing cluster is comprised of at least one logic unit and one data loading unit together with associated register files. These processing clusters can process the combined data in parallel, thereby improving processing efficiency.
Accordingly, in one aspect the invention is a media processor for processing data from a segmented imaging sensor having plural sensor segments. The data is stored in plural segment memories each of which corresponds to one of the sensor segments. The plural segment memories are provided in one large memory bank, thereby storing data in several different memory locations. Each segment memory also stores overlap data as well as non-overlap data from the corresponding sensor segment. The overlap data in each segment memory includes boundary data from a boundary region of the sensor segment for which color correction is performed based at least in part on data from a segment memory for an adjacent sensor segment. The overlap data further includes other data from the segment memory used to color-correct the boundary data.
The media processor according to the invention includes an interface to data from the plural segment memories, a memory buffer for storing boundary or other overlap data from at least one of the segment memories, and a data transfer controller for direct memory access to the memory buffer. The data transfer controller acts as an input/output (I/O) processor and has to manage data flow efficiently. Also included are control logic and one or more processing clusters for performing color correction on data, thereby providing the capability of processing data from multiple segment memories in parallel. Preferably, each processing cluster is capable of processing very long instruction word (VLIW) commands.
By virtue of the foregoing arrangement, data necessary for color correction of boundary data can be directly accessed from the memory buffer. This data can be combined with other data from the segment memories, and the data can be processed in parallel by plural processing clusters. Thus, discontinuities are alleviated, and processing efficiency can be improved.
The preferred embodiment of the media processor includes an interface to an image memory for storing color-corrected image data for all of the sensor segments. The color-corrected image data is preferably combined to produce an image indicative of the object to which the segmented image sensor was exposed.
In another aspect, the present invention is a method for color-correcting data from a segmented imaging sensor having plural sensor segments. The method preferably is implemented through control logic of a media processor as described above.
According to one embodiment of the method, overlap data is loaded from at least a first half of the segment memories into a memory buffer. The overlap data from the memory buffer is combined with data from a second half of the segment memories. Color correction is performed of boundary data, based on the combined data, and of non-boundary data for each of the segment memories. The color correction preferably is performed in parallel for plural segment memories, for example by plural processing clusters.
Preferably, color-corrected boundary data is loaded back into the memory buffer, and color-corrected non-boundary data from the first half of the segment memories is combined with color-corrected boundary data from the memory buffer. Preferably, the non-corrected data is trimmed away. The color-corrected boundary data and non-boundary data preferably are output from each of the segment memories.
According to another embodiment of the method, boundary data from all of the segment memories and non-boundary overlap data from a first half of the segment memories are loaded into a memory buffer. Boundary data from the memory buffer is combined with data from a specific segment memory which is adjacent to a second half of the segment memories. Non-boundary overlap data from the memory buffer is combined with data from a second half of the segment memories. Color correction is performed of boundary data, based on the combined data, and of non-boundary data for each of the segment memories.
Preferably, color-corrected boundary data is loaded back into the memory buffer, and color-corrected non-boundary data from the segment memories is combined with color-corrected boundary data from the memory buffer. Preferably, non-corrected data is trimmed away. The color-corrected boundary data and non-boundary data preferably are output from each of the segment memories.
According to yet another embodiment of the method, boundary data from all of the segment memories is loaded into the memory buffer. Data from the memory buffer is combined with data from each of the segment memories. Color correction is performed of boundary data, based on the combined data, and of non-boundary data for each of the segment memories. Preferably, non-corrected data is trimmed away, and color-corrected boundary data and non-boundary data are output from each of the segment memories.
According to a further embodiment of the method, data from all of the segment memories and non-boundary overlap data from a first half of the segment memories are loaded into a memory buffer. Color correction is performed on the combined data by multiple processing clusters, preferably in parallel. Color-corrected boundary data from the first half of the segment memories is loaded back into the memory buffer and is combined with color-corrected data from a second half of the segment memories. This combined data is then color-corrected. Preferably, non-corrected data is trimmed away. The color-corrected boundary data and non-boundary data are output from each of the segment memories.
Each of the foregoing embodiments facilitates access to data needed to color-correct data from each of plural sensor segments, thereby alleviating discontinuities and improving processing efficiency. Preferably, each of the foregoing embodiments includes combining the corrected data from each of the segment memories to produce an image which is indicative of the object to which the segmented image sensor was exposed.
This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiment thereof in connection with the attached drawings.